package org.example.project.model

import kotlinx.datetime.LocalDate

/**
 * 费用记录数据模型
 */
data class FeeRecord(
    val id: String = java.util.UUID.randomUUID().toString(),
    val className: String, // 班级名称
    val feeStandard: Double, // 收费标准
    val date: LocalDate, // 日期
    val studentCount: Int, // 人数
    val isFullAttendance: Boolean = true, // 是否满勤
    val attendanceDays: Int = 22, // 上课天数，默认满勤22天
) {
    /**
     * 计算金额
     * 满勤：金额 = 收费标准 × 人数
     * 非满勤：金额 = (收费标准 × 人数 / 22) × 上课天数
     */
    val amount: Double
        get() = if (isFullAttendance) {
            feeStandard * studentCount
        } else {
            (feeStandard * studentCount / 22.0) * attendanceDays
        }
}